package com.krisyu.statePattern.sp1;

/**
 * @Author: Kris
 * @Date: 2022/1/9 - 01 - 09 - 22:13
 * @Description: 电梯状态的抽象类。定义了所有的行为，以及维持了一个保护类型的上下文环境角色，用于子类调用它来进行获取上下文内容。
 * @version: 1.0
 */
public abstract class LiftState {
    // ！！！定义一个保护类型的环境角色， 也就是封装状态引起的 行为变化，用于给实现的子类调用。
    protected Context context;

    public void setContext(Context context) {
        this.context = context;
    }

    // 电梯开门动作
    public abstract void open();
    // 电梯关门动作
    public abstract void close();
    // 电梯运行动作
    public abstract void run();
    // 电梯停止动作
    public abstract void stop();
}
